package com.luckyframe.project.jmeter.jmeterJarMgt.mapper;

import com.luckyframe.project.jmeter.jmeterJarMgt.domain.JmeterJarMgt;
import com.luckyframe.project.jmeter.jmeterTestCase.domain.JmeterTestCase;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * jmx脚本依赖jar包管理 数据层
 * 
 * @author lancelot
 * @date 2020-09-27
 */
public interface JmeterJarMgtMapper 
{
	/**
     * 查询jmx脚本依赖jar包管理信息
     * 
     * @param id jmx脚本依赖jar包管理ID 主键ID
     * @return jmx脚本依赖jar包管理信息
     */
	public JmeterJarMgt selectJmeterJarMgtById(Integer id);
	
	/**
     * 查询jmx脚本依赖jar包管理列表
     * 
     * @param jmeterJarMgt jmx脚本依赖jar包管理信息 基本信息
     * @return jmx脚本依赖jar包管理集合
     */
	public List<JmeterJarMgt> selectJmeterJarMgtList(JmeterJarMgt jmeterJarMgt);
	
	/**
     * 新增jmx脚本依赖jar包管理
     * 
     * @param jmeterJarMgt jmx脚本依赖jar包管理信息 基本信息
     * @return 结果
     */
	public int insertJmeterJarMgt(JmeterJarMgt jmeterJarMgt);
	
	/**
     * 修改jmx脚本依赖jar包管理
     * 
     * @param jmeterJarMgt jmx脚本依赖jar包管理信息 基本信息
     * @return 结果
     */
	public int updateJmeterJarMgt(JmeterJarMgt jmeterJarMgt);
	
	/**
     * 删除jmx脚本依赖jar包管理
     * 
     * @param id jmx脚本依赖jar包管理ID 主键ID
     * @return 结果
     */
	public int deleteJmeterJarMgtById(Integer id);
	
	/**
     * 批量删除jmx脚本依赖jar包管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteJmeterJarMgtByIds(String[] ids);

	JmeterJarMgt selectJarByName(@Param("jarName") String jarName);

    List<JmeterJarMgt> selectJarsByTestCaseId(@Param("relCaseId") Long id);

	List<String> selectRelatedCaseNames(@Param("jarId") Long jarId);

	List<JmeterTestCase> selectRelatedCases(@Param("jarId") Long jarId);

}